👔

E4-Veille-Docker-Baptiste-Grimaldi

Liens utiles:

Article Automatisation de flux RSS avec un LLM
Check out the portfolio of Baptiste Grimaldi, a full-stack web developer specializing in creating dynamic and responsive websites. Explore his projects and contact him for your next web development project.
https://portfolio.baptistegrimaldi.info/articles/view/automatisation-de-flux-rss-avec-un-llm

💡
SOMMAIRE

1 Introduction

1.1. Contexte et problématique

Dans le cadre de mon BTS SIO option SLAM, j'ai effectué une veille sur Docker. La problématique que j'ai étudiée était "Docker, l'avenir du déploiement ?".

⚠️
Note de vigilance : Les informations contenues dans ce document peuvent ne plus être à jour depuis sa date de rédaction. Si vous souhaitez en savoir plus sur les dernières nouveautés en rapport avec Docker, je vous invite à vous renseigner auprès de sources fiables et à jour. Les technologies évoluent rapidement et il est important de se tenir informé pour rester à la pointe du sujet.

1.2. Objectifs de la veille

Le but d'une veille technologique en BTS SIO SLAM est de se tenir informé des dernières avancées et innovations dans le domaine de l'informatique et des technologies de l'information. Cela permet aux étudiants de rester à jour sur les nouvelles technologies et de se préparer à l'évolution constante du marché de l'emploi dans ce domaine. La veille technologique peut inclure la recherche et la lecture d'articles et de blogs, la participation à des conférences et des événements, et la surveillance des tendances et des innovations dans l'industrie.

Pour plus plus d’informations sur la veille technologique, voir le document spécialisé sur la veille.

2. Ma méthodologie de veille

2.1. Processus de veille

Mon processus de veille consiste en quatre étapes principales.

  1. Tout d'abord, je reçois des informations sur les sujets que je veux surveiller. Je consulte régulièrement des sources d'information pertinentes, telles que des blogs, des articles et des événements, pour rester à jour sur les dernières avancées dans mon domaine d'intérêt.
  1. Ensuite, je sélectionne les données les plus pertinentes pour mon projet de veille. Je trie les informations en fonction de leur pertinence, de leur fiabilité et de leur intérêt pour mon sujet de veille.
  1. Après avoir sélectionné les données, je les indexe pour une recherche rapide et facile. Cela me permet de trouver rapidement les informations dont j'ai besoin lorsque je travaille sur mon projet de veille.
  1. Enfin, je commence à écrire. Je rédige mes notes et mes idées sur les sujets que j'ai sélectionnés, en me basant sur les informations que j'ai collectées et indexées.
🔥
Je répète les trois premières étapes de mon processus de veille environ 30 minutes une fois par semaine. Une fois que j'ai collecté suffisamment d'informations, je commence à écrire.

En résumé, mon processus de veille consiste à recevoir des informations, à les sélectionner, à les indexer et à écrire sur les sujets qui m'intéressent.

2.2. Outils utilisés pour la veille

Pour la réception

OutilAvantagesInconvénients
Feedly - RSS autour de docker- Agrégateur de flux RSS très facile à utiliser. - Permet de suivre facilement les blogs et les sites d'actualités pertinents.- Les informations dans les flux RSS peuvent être redondantes ou obsolètes. - Certaines sources peuvent être biaisées ou peu fiables.
Twitter - Liste de suivis- Permet de suivre facilement les dernières actualités et les discussions sur les sujets pertinents. - Permet de suivre les experts et les leaders d'opinion dans le domaine.- Les tweets peuvent être brefs et peu informatifs. - Les discussions sur Twitter peuvent être polarisées et peu constructives.
Script Hebdomadaire -> Résumés d'actualités avec un LLM- Permet d'obtenir un résumé rapide et efficace des dernières actualités. - Utilise l'IA pour générer des résumés pertinents et informatifs.- Les résumés peuvent manquer de contexte ou de détails importants. - L'IA peut parfois mal interpréter ou mal résumer les informations.

Pour la sélection

Pour la sélection, je fais tout avec mon smartphone. Le but est d'avoir un outil que j'ai toujours sur moi pour m'aider à me tenir rapidement au courant des dernières informations sur Docker. L'appareil que j'ai constamment sur moi est mon téléphone.

Avec mon téléphone pour l'indexation des articles qui ont été réceptionnés, j'utilise :

Pour l’indexation

Pour l’indexation, j’ai commencé à utiliser Obsidian en 2021. Avec cet outil, je me suis rendu compte de la puissance du MarkDown ainsi je suis parti sur l’outil Obsidian par défaut. Il est important de noter que j’utilise maintenant Notion, qui, pour moi est une version améliorer d’Obsidian pour mon utilisation. Je souligne, pour mon utilisation car ces deux outils ont des buts et un publique différent.

💡
Obsidian est un logiciel de prise de notes et de gestion de connaissances qui utilise le format Markdown pour la mise en forme du texte. Il permet de créer des notes liées les unes aux autres pour organiser les informations de manière hiérarchique.

L'une des principales forces d'Obsidian est sa puissance de personnalisation. Il permet à l'utilisateur de personnaliser l'interface utilisateur, d'ajouter des plugins pour étendre les fonctionnalités du logiciel, et de personnaliser la façon dont les notes sont organisées.

De plus, Obsidian offre une grande flexibilité dans la façon dont les notes peuvent être liées les unes aux autres. Les utilisateurs peuvent créer des liens entre les notes, les organiser en arborescence ou utiliser des cartes mentales pour visualiser les relations entre les concepts.

Réseaux de mes documentations sur docker.

Voici une comparaison entre notion et Obsidian:

FonctionnalitéNotionObsidian
Édition collaborative✔️
Interface utilisateur✔️
Gestion des tâches✔️
Intégration d'autres applications✔️
Édition de texte✔️✔️
Hiérarchie des pages✔️✔️
Gestion des blocs de texte✔️
Markdown✔️✔️
Édition hors ligne✔️
Personnalisation de l'interface✔️
Plugins communautaires✔️
API✔️
Prix✔️

2.3. Sources d'information consultées

My rss fetching program uses this config file.
Feedly
Liste twitter
Un extrait des 30 membres de ma liste twitter

3. Mon sujet de veille : Docker, l'avenir du déploiement ?

3.1. Introduction

Quand il s'agit de déployer un service, on a souvent plusieurs options connues depuis très longtemps. On peut installer le service sur une machine, mais si on veut y installer un service en plus, cela devient vite chaotique. De plus, cela peut poser de sérieux problèmes de sécurité. Pour remédier à ces problématiques, on utilise la virtualisation. Mais un problème persiste : pour chaque service, il faut déployer un environnement virtuel (ce qui peut prendre du temps) avec toute sa virtualisation de BIOS, de couche hardware, de drivers, etc. Et cela pour chacun des services. Pas très optimisé, n'est-ce pas ? Pour répondre à cela, il existe depuis longtemps les container avec LXC.

💡
Les conteneurs existaient avant Docker, notamment avec LXC (Linux Containers). Toutefois, l'utilisation de ces conteneurs était souvent limitée à des environnements Linux et nécessitait une configuration plus complexe. Avec l'utilisation de LLVM, il était possible de créer des conteneurs plus portables, mais cela nécessitait une expertise plus poussée. Docker a simplifié le processus de création et de gestion de conteneurs, ce qui a contribué à populariser leur utilisation.

Docker apporte plusieurs avantages par rapport aux conteneurs classiques de LXC:

3.2. Historique de Docker

Docker est une entreprise américaine spécialisée dans la création de conteneurs. Elle a été créée en 2010 par Solomon Hykes et est basée à San Francisco, en Californie. Depuis sa création, Docker a connu une croissance rapide et est devenue un acteur majeur dans le domaine de la virtualisation et du déploiement d'applications.

Le principal objectif de Docker est de simplifier le processus de développement, de déploiement et de gestion des applications. Pour ce faire, elle utilise des conteneurs, qui permettent d'emballer une application et toutes ses dépendances dans un package portable et autonome. Les conteneurs sont légers et rapides à démarrer, ce qui permet une utilisation efficace des ressources informatiques.

Docker est devenu très populaire auprès des développeurs et des entreprises, car il permet de simplifier considérablement le processus de développement et de déploiement d'applications. Il est également très flexible et peut être utilisé dans une grande variété de cas d'utilisation, ce qui en fait un choix populaire pour les entreprises de toutes tailles.

💡
Docker Hub est un registre d'images de conteneurs Docker qui permet aux développeurs de stocker, partager et gérer leurs images de conteneurs. Il est utilisé par de nombreux développeurs pour accéder à des images de conteneurs pré-construites, ce qui leur permet de gagner du temps et de faciliter le processus de déploiement.

Docker Hub est également un outil important pour la communauté Docker car il permet aux développeurs de partager leurs images de conteneurs avec d'autres membres de la communauté. Cela permet une collaboration et un partage de connaissances plus efficaces, ce qui peut aider à accélérer l'adoption de Docker et à stimuler l'innovation dans le domaine des conteneurs.

3.3. Problématique que Docker a rencontrée pendant son développement

L'une des problématiques que Docker a rencontrées pendant son développement en tant qu'entreprise était la standardisation des images de conteneurs. Au début de son existence, chaque développeur ou entreprise avait sa propre méthode pour créer et gérer des images de conteneurs, ce qui rendait difficile la portabilité des images entre différentes plates-formes. Cela a conduit à la création de normes pour les images de conteneurs, telles que le format Open Container Initiative (OCI), qui a été développé en collaboration avec d'autres acteurs de l'industrie pour créer des normes communes pour les images de conteneurs.

3.4. Avantages / inconvénients de Docker

Avantages

Inconvénients

AvantagesDescription
PortabilitéLes images de conteneurs Docker sont portables et peuvent être déployées sur différentes plateformes sans avoir à se soucier des dépendances ou de la configuration de l'hôte.
SécuritéDocker utilise des espaces de noms de kernel Linux pour isoler les processus et les ressources, ce qui permet une isolation efficace et une sécurité améliorée.
Gestion des ressourcesDocker permet une gestion fine des ressources, ce qui permet de garantir une utilisation efficace des ressources informatiques.
Facilité d'utilisationDocker est facile à utiliser et permet de créer, déployer et gérer des conteneurs rapidement et efficacement.
Écosystème richeDocker dispose d'un écosystème riche, avec de nombreuses images pré-construites disponibles sur Docker Hub, ainsi que de nombreux outils et frameworks qui facilitent le développement et le déploiement d'applications.
FlexibilitéDocker est flexible et peut être utilisé dans une grande variété de cas d'utilisation, ce qui en fait un choix populaire pour les entreprises de toutes tailles.
Gestion des réseauxDocker permet une gestion facile et flexible des réseaux pour les conteneurs, permettant une communication sécurisée et optimisée entre les différents conteneurs.
InconvénientsDescription
ComplexitéDocker peut être complexe à apprendre, en particulier pour les nouveaux utilisateurs.
Système de fichiersLes conteneurs Docker partagent le même système de fichiers que l'hôte, ce qui peut entraîner des problèmes de sécurité.
Taille des imagesLes images de conteneurs Docker peuvent être volumineuses, ce qui peut entraîner des temps de téléchargement et de déploiement plus longs.
MaintenanceLa gestion des images de conteneurs Docker peut nécessiter une maintenance régulière pour garantir leur sécurité et leur fiabilité.

3.5. Aspects juridiques liés à Docker

Une problématique juridique importante liée à Docker concerne la propriété intellectuelle. Comme Docker permet de créer des images de conteneurs réutilisables, il est important de s'assurer que les images utilisées ne violent pas les droits de propriété intellectuelle.

Les entreprises doivent également s'assurer qu'elles ont le droit d'utiliser les images de conteneurs qu'elles déploient, en particulier si elles sont utilisées pour des applications commerciales. Il est important de bien comprendre les licences associées aux images de conteneurs pour éviter tout problème juridique potentiel.

De plus, les entreprises doivent être conscientes de la responsabilité juridique associée à l'utilisation de logiciels open source, qui peuvent être utilisés dans les images de conteneurs Docker.

3.6. L'avis des experts sur Docker

Utilisation de Docker dans les grandes entreprises

Docker est de plus en plus utilisé dans les grandes entreprises pour simplifier le processus de développement et de déploiement d'applications. Les avantages de Docker, tels que la portabilité, la sécurité et la gestion fine des ressources, en font un choix populaire pour les entreprises de toutes tailles.

Les grandes entreprises, en particulier, ont tendance à utiliser Docker pour des applications critiques, telles que les applications financières ou les applications de traitement des données. Docker permet aux entreprises de déployer rapidement et efficacement des applications, tout en garantissant une sécurité et une fiabilité accrues.

De nombreuses grandes entreprises, telles qu'ADP, GE, et PayPal, ont adopté Docker pour leurs applications, ce qui a contribué à populariser son utilisation dans l'industrie. Docker est également utilisé dans de nombreux environnements cloud, tels que AWS, Google Cloud, et Microsoft Azure, ce qui permet aux entreprises de déployer des applications dans le cloud de manière rapide et efficace.

En résumé, Docker est de plus en plus utilisé dans les grandes entreprises pour simplifier le processus de développement et de déploiement d'applications, en particulier pour les applications critiques. Les avantages de Docker, tels que la portabilité, la sécurité et la gestion fine des ressources, en font un choix populaire pour les entreprises de toutes tailles.

3.7. État actuel de Docker

Docker est actuellement un outil utilisé par tous les développeurs du monde entier. C'est devenu une norme d'utilisation pour le déploiement, que ce soit pour les tests ou la production. Depuis 5 ans, il y a un phénomène où de plus en plus d'articles émergent sur l'utilisation de Docker pour tous ses services personnels, au lieu de les installer sur sa machine en local.

Docker est certes génial, mais il reste encore très basé sur les personnes qui s'y connaissent un minimum dans le monde de la tech. Docker essaie de se diversifier avec des interfaces desktop, mais cela ne suffit pas pour le grand public. De plus en plus, des outils comme Dockstation apparaissent afin de faciliter l'utilisation de Docker.

Des outils DevOps émergent autour de cette technologie, comme Kubernetes ou Swarm.

3.8. Évolution prévue de Docker

La science a beaucoup évolué depuis 30 ans. Nous sommes passés d'un monde où, pour avoir l'air intelligent et "scientifique", il fallait avoir la documentation la plus compliquée, à un monde de plus en plus ancré dans l'accessibilité. De la même manière, la ligne de commande Docker est de plus en plus délaissée au profit d'interfaces graphiques très bien conçues.

🔥
Pour ma part, je suis resté sur le CLI car quand on comprend ce qui se passe en fond, Docker CLI est bien plus pertinent pour la résolution de bugs.

4.Bilan de ma veille

4.1. Synthèse des résultats obtenus

Pendant ma veille sur le sujet de Docker, j'ai appris que Docker est de plus en plus utilisé dans les grandes entreprises pour simplifier le processus de développement et de déploiement d'applications, en particulier pour les applications critiques. Les avantages de Docker, tels que la portabilité, la sécurité et la gestion fine des ressources, en font un choix populaire pour les entreprises de toutes tailles.

J'ai également découvert que la standardisation des images de conteneurs était une problématique importante pour Docker, qui a conduit à la création de normes pour les images de conteneurs, telles que le format Open Container Initiative (OCI), qui a été développé en collaboration avec d'autres acteurs de l'industrie pour créer des normes communes pour les images de conteneurs.

Enfin, j'ai constaté que Docker est devenu un outil utilisé par tous les développeurs du monde entier. C'est devenu une norme d'utilisation pour le déploiement, que ce soit pour les tests ou la production. Cependant, Docker reste encore très basé sur les personnes qui s'y connaissent un minimum dans le monde de la tech et essaie de se diversifier avec des interfaces desktop. Des outils DevOps émergent autour de cette technologie, comme Kubernetes ou Swarm.

4.2. Enjeux et perspectives pour le domaine de l'informatique

L'un des enjeux majeurs de Docker dans la communauté open source est la standardisation des images de conteneurs. Comme Docker permet de créer des images de conteneurs réutilisables, il est important de s'assurer que les images utilisées ne violent pas les droits de propriété intellectuelle. Les entreprises doivent également être conscientes de la responsabilité juridique associée à l'utilisation de logiciels open source, qui peuvent être utilisés dans les images de conteneurs Docker. Il est donc crucial d'établir des normes communes.

Récemment, Docker a voulu supprimer les équipes open-source gratuites et les rendre payantes, ce qui est un problème énorme pour la communauté open-source et les entreprises qui proposent des images gratuites. Elles pourraient juste arrêter de proposer des images gratuites par dégoût et par manque d'envie de passer sur une autre plateforme. Docker a certes publié un article le 34/03/2023 indiquant qu'ils annulaient leur décision, mais le problème persiste. Les développeurs commencent à se demander ce qu'il adviendra par la suite. Si un tel événement est capable de se produire, cela montre l'instabilité d'Internet.

Malgré tout, Docker reste pour moi un outil fabuleux. Cela fait maintenant plus de 2 ans que je m'en sers et je ne lâcherai pas cet outil tout de suite. J'en ai fait ma spécialité.

👉
Cette documentation est la propriété intellectuelle de Grimaldi Baptiste. portfolio.baptistegrimaldi.info/legal